草庐IT

android - 命名 AsyncTask 以在 Android 中进行分析

全部标签

javascript - <script> 标签内的函数是如何限定作用域/命名空间的?

我正在使用我们正在使用Knockout.js和jQuery构建的新应用程序。我更喜欢"usestrict"在我的脚本中,但由于我们使用的某些库不适用于"usestrict"那么我必须使用函数形式。我不喜欢在中放置javascript标签内联,所以我通常将所有内容放在一个单独的文件中,以便它可以被预处理器缩小和gzip压缩。鉴于这些条件,我想知道当您在脚本标记中创建函数时,默认情况下函数是如何限定范围的。现在我只是在做这样的事情:$((function(win){"usestrict";win.myFunction=function(){//dostuff};}(window)));如您

javascript - 分析 `if(x)` VS `if(x===undefined)`

functionf(){vart=document.getElementById("t");varg=t.asdfg;vara=newDate().getTime();for(varx=0;x在Firefox中if(g)比if(g===undefined)慢。我想知道有没有人知道为什么会这样?在Chrome中if(g)比if(g===undefined)更快。我想知道有没有人知道为什么会这样?我不是在争论我们应该使用一个而不是另一个。我只是对理论感兴趣可以说不同的浏览器有不同的实现,但任何浏览器上的理论都值得回答 最佳答案 java

javascript - 访问 Array.forEach 中的未命名数组

在未命名数组上使用forEach循环时,有什么方法可以访问目标对象的长度属性吗?#I'dliketobeabletodosomethinglike:[1,2,3].forEach(n,i)->console.lognis 最佳答案 Array.forEach的回调采用树参数:值、索引、和正在遍历的数组。所以你可以这样做:[1,2,3].forEach(n,i,thearray)->console.lognisJavascript:[1,2,3].forEach(function(n,i,thearray){console.log(n

javascript - 如何设置 Eclipse 以在保存 JavaScript 文件时删除尾随空格?

我在Ubuntu11.04上运行Eclipse3.6(Helios20110218-0911)。在首选项下,我转到了以下面板:JavaScript->编辑器->保存操作。选中“其他操作”复选框并选中“删除所有行上的尾随空格”。然而,当我在Eclipse中保存我的JavaScript文件时,我的行末尾仍然有尾随空格。我错过了什么? 最佳答案 JavaScript的'SaveActions'仅在JavaScript项目(具有JavaScript性质的项目)中可用。(如果右键单击项目时在“配置”菜单中看到“转换为JavaScript项目”

javascript - 可以在文档外的元素上使用 jQuery 吗?

使用一些遗留架构并且由于初始化序列的性质,我需要在将元素添加到文档之前对其进行包装。假设我有以下内容:而且我需要在将“myNode”添加到DOM之前包装它。jQuery选择器甚至可以在这种情况下工作吗?如果是这样,我怎样才能做到这一点?我试过像这样传递元素:(更正了以下一些答案中提到的一些拼写错误):$(this.element).wrap('');运气不好。我假设选择器的常用语法不起作用,因为节点在文档之外。我发现的最接近的是这篇文章:ManipulateDOMelementsbeforeaddingthemtothedocument但我的情况和他的情况不同的是我没有字符串,我有用d

Javascript Xpath 和默认命名空间

我有一些JavaScript/Xpath无法正常工作。(availableonjsfiddle)看起来我在XML命名空间上做错了什么,阻止我通过节点(标记)名称查询我的元素。如果我尝试查询当前节点的所有子节点,我会毫无问题地找到元素myElement:varxpathResult=xmlDoc.evaluate("child::*",rootElement,nsResolver,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);varqueryEl;if(queryEl=xpathResult.iterateNext()){alert("chil

javascript - 防止在 jquery 中进行多次 DOM 搜索

我创建了一个函数来返回一个jquery元素。functionGetDialogButton(){return$('a.dialog');};这是因为在多个其他函数中使用了相同的元素。我认为最好是从一个地方获取它,因此如果属性名称更改,将来更容易更改。我想改进这个getter,这样它就不会在一次页面加载中多次调用时每次都执行搜索。我该怎么做?我缓存它吗?或者也许没有必要,因为它已经过优化? 最佳答案 可以创建缓存变量,但会再次污染全局命名空间vardialogButton;functionGetDialogButton(){if(di

javascript - 可以在 Javascript 中生成加密强度高的 UUID 吗?

当今的网络浏览器(Chrome、IE、Safari和Firefox)的状态如何,它们创建加密强度高的UUID的能力如何?在研究这个问题时,我一直无法找到任何确定的东西。我在stackoverflow和其他地方看到了指向Math.random问题的信息,但我想知道这一切的当前状态。更新正如icktoofay指出的那样,crypto.getRandomValues是执行此操作的方法。不幸的是,跨浏览器的支持是有限的。有没有行之有效的方法来解决这个问题?是否有任何JavaScript库可以解决这个问题? 最佳答案 在有它的浏览器中,你可以

javascript - AngularJS 中有没有一种方法可以在不使用 $watch 的情况下对模型更改使用react?

我正在AngularJS中实现一个简单的微调器控件,我想对用户输入和+/-按钮的更改使用react。这是我的HTML:但这将仅跟踪“用户更改”,因为ngChange根据documentaiton仅支持用户交互更新所以现在我正在查看$scope.$watch作为Frederikrecommends:$scope.$watch('MyProperty',function(){$scope.log('changedfrom$watch');});参见plunkerdemo但这似乎不太对。首先,它不是声明式的,您必须搜索MyTestProperty的代码才能找到此绑定(bind)。如果您想将$

javascript - 如何使用 ^ :export, 标记使用 `reify` 创建的方法,以便 Closure 编译器不重命名它们?

当使用reify创建JavaScript对象时,如何使用^:export标记方法,以便GoogleClosure编译器不会在高级模式下重命名它们?例如:(reifyObject(foo[this]...)(bar[this]...))我试过了(reifyObject(^:exportfoo[this]...)(^:exportbar[this]...))但这似乎没有帮助,并且名称仍然会随着高级优化而改变。如果没有办法做到这一点,除了创建一个普通的js-obj并使用set!之外,我该如何使用方法构造一个JavaScript对象将函数设置为属性(我不确定如何防止高级优化破坏事物)?